在 JavaScript 中,new Map() 是一個用於存儲鍵值對的資料結構。它與普通的 JavaScript 物件({})類似,但提供了更多功能和更靈活的鍵支持,例如可以使用任何類型的值(物件、函數、基本類型等)作為鍵。
new Map() 適合用於以下情況:
假設你有多個使用者物件,需要儲存與這些使用者相關聯的某些資料。
// 創建一個 Map
const user1 = { name: "Alice" };
const user2 = { name: "Bob" };
const user3 = { name: "Charlie" };
const userScores = new Map();
// 將使用者物件作為鍵
userScores.set(user1, 85);
userScores.set(user2, 92);
userScores.set(user3, 78);
// 獲取資料
console.log(userScores.get(user1)); // 85
console.log(userScores.get(user2)); // 92
// 判斷是否包含某個鍵
console.log(userScores.has(user3)); // true
// 刪除某個鍵值對
userScores.delete(user3);
console.log(userScores.has(user3)); // false
// 遍歷 Map
for (const [user, score] of userScores) {
console.log(`${user.name}: ${score}`);
}